package com.newtype.meeting.client.service;

import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.newtype.meeting.client.model.MeetingCategory;

public interface MeetingCategoryServiceAsync {

	void deleteCategory(String id, AsyncCallback<Void> callback);

	void getCategory(String id, AsyncCallback<MeetingCategory> callback);

	void saveCategory(MeetingCategory category, AsyncCallback<Void> callback);

	void getMainCategories(AsyncCallback<ArrayList<MeetingCategory>> callback);

	void listChildCategory(MeetingCategory category,
			AsyncCallback<List<MeetingCategory>> callback);

	void listCategory(AsyncCallback<List<MeetingCategory>> callback);

	void getCategoryTree(AsyncCallback<MeetingCategory> callback);

	void listAllChildren(AsyncCallback<List<MeetingCategory>> callback);
}
